/**
 * jims
 */
package com.jims.master.modules.oper.dao;

import com.jims.master.common.web.impl.BaseDto;
import com.jims.master.modules.oper.entity.ClinicItemDict;
import com.jims.master.common.persistence.CrudDao;
import com.jims.master.common.persistence.annotation.MyBatisDao;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 诊疗项目DAO接口
 * @author 赵宁
 * @version 2017-02-23
 */
@MyBatisDao
public interface ClinicItemDictDao extends CrudDao<ClinicItemDict> {

    /**
     * 查询机构下指定价表对应的诊疗项目
     * @param chargeId,orgId
     * @return
     * @author CTQ
     */
    public ClinicItemDict findByParams(@Param("chargeId") String chargeId, @Param("orgId") String orgId);
    /**
     * 根据诊疗项目查询所有对照
     * @param clinicId
     * @return
     * @author CTQ
     */
    public List<BaseDto> findVsChargeByClinicId(@Param("clinicId")String clinicId);

    /**
     * 诊疗项目自动补全
     * @param itemClass
     * @param orgId
     * @param q
     * @param limit
     * @param extIds
     * @return
     */
    public List<ClinicItemDict> findListDict(@Param("itemClassList")String [] itemClassList,@Param("orgId") String orgId,@Param("q")String q,@Param("limit")String limit,@Param("extIds") String [] extIds,@Param("removeClasses") String [] removeClasses);

    /**
     * 根据诊疗项目Id 查找价格
     * @param id  诊疗项目id
     * @return
     * @Author 陈晓阳
     */
    public double findPriceById(@Param("id") String id);

    /**
     * 根据途径字典ID查询所有对照项目
     * @param dictId
     * @return
     * @author CTQ
     */
    public List<ClinicItemDict> findClinicItemByDictId(@Param("dictId")String dictId,@Param("orgId")String orgId);

    /**
     * 查询最大itemCode
     * @param orgId
     * @param itemClass
     * @return
     */
    public int getMaxItemCode(@Param("orgId")String orgId,@Param("itemClass")String itemClass);

    public ClinicItemDict getName(@Param("id")String id);

}